class Node:
def __init__ (self, valeur, suivant=None):
self.valeur = valeur
self.suivant = suivant
def __str__ (self):
return f"({', '.join(map(str, self.to_list()))})"
def to_list(self) -> list:
if self.suivant is None:
return [self.valeur]
return [self.valeur] + self.suivant.to_list()
Implémentation d’une liste chaînée
elements plus grands
1.
Ecrire une fonction itérative
plusGrands(L, seuil)
qui retourne tous les nombres deL
dont la valeur est au moins égale au seuil.
def plusGrands(L: Node, seuil: int or float) -> Node:
= Node(None)
liste_plus_grands = liste_plus_grands
tail while L is not None:
if L.valeur > seuil:
= Node(L.valeur)
tail.suivant = tail.suivant
tail = L.suivant
L # ne pas oublier de retirer le premier élément
return liste_plus_grands.suivant
= Node(6, Node(42, Node(73, Node(28, Node(3)))))
L # print(plusGrands(L, 40))
2.
Donner mantenant une solution utilisant une fonctionelle
filter
. Cette fonctionnelle permet de conerver les éléments d’une liste vérifiant un prdivat passé en argument.